'Weak Dependency Graph [60.0]'
------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Details:
We have computed the following set of weak (innermost) dependency pairs:
{ flatten^#(nil()) -> c_0()
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, rev^#(nil()) -> c_5()
, rev^#(unit(x)) -> c_6()
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev^#(rev(x)) -> c_8()
, ++^#(x, nil()) -> c_9()
, ++^#(nil(), y) -> c_10()
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
The usable rules are:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
The estimated dependency graph contains the following edges:
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
==> {flatten^#(flatten(x)) -> c_4(flatten^#(x))}
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
==> {flatten^#(++(unit(x), y)) ->
c_3(++^#(flatten(x), flatten(y)))}
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
==> {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
==> {flatten^#(unit(x)) -> c_1(flatten^#(x))}
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
==> {flatten^#(nil()) -> c_0()}
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
==> {++^#(nil(), y) -> c_10()}
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
==> {++^#(x, nil()) -> c_9()}
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
==> {++^#(nil(), y) -> c_10()}
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
==> {++^#(x, nil()) -> c_9()}
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
==> {flatten^#(flatten(x)) -> c_4(flatten^#(x))}
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
==> {flatten^#(++(unit(x), y)) ->
c_3(++^#(flatten(x), flatten(y)))}
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
==> {flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
==> {flatten^#(unit(x)) -> c_1(flatten^#(x))}
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
==> {flatten^#(nil()) -> c_0()}
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
==> {++^#(nil(), y) -> c_10()}
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
==> {++^#(x, nil()) -> c_9()}
{++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
==> {++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
{++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
==> {++^#(nil(), y) -> c_10()}
{++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
==> {++^#(x, nil()) -> c_9()}
We consider the following path(s):
1) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{++^#(x, nil()) -> c_9()}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{++^#(x, nil()) -> c_9()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [8]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [2]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [4]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [8]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [6]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_9_0() -> 10}
2) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{++^#(nil(), y) -> c_10()}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{++^#(nil(), y) -> c_10()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [8]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [2]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [4]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [8]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [6]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_10_0() -> 10}
3) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, ++^#(x, nil()) -> c_9()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [10]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [5]
c_3(x1) = [1] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [0]
nil() = [1]
unit(x1) = [1] x1 + [14]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [15]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [2]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_9_0() -> 10}
4) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++^#(x, nil()) -> c_9()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{++^#(x, nil()) -> c_9()}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{++^#(x, nil()) -> c_9()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [13]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [10]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(x, nil()) -> c_9()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_9_0() -> 10}
5) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, ++^#(nil(), y) -> c_10()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [10]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [5]
c_3(x1) = [1] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [0]
nil() = [1]
unit(x1) = [1] x1 + [14]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [15]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [2]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_10_0() -> 10}
6) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, ++^#(x, nil()) -> c_9()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [4]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [7]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(x, nil()) -> c_9()}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 2
, flatten^#_0(2) -> 1
, c_1_0(1) -> 1
, ++^#_0(2, 2) -> 1
, c_9_0() -> 1}
7) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, ++^#(nil(), y) -> c_10()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [4]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [7]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_10_0() -> 10}
8) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++^#(nil(), y) -> c_10()}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(nil(), y) -> c_10()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{++^#(nil(), y) -> c_10()}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{++^#(nil(), y) -> c_10()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [13]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [10]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++^#(nil(), y) -> c_10()
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, c_10_0() -> 10}
9) { flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [1]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [1] x1 + [14]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [3]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [12]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [6]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10}
10)
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [2]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [9]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [3]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [1]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [1]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [2]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [4]
unit(x1) = [1] x1 + [14]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [4]
c_0() = [0]
c_1(x1) = [1] x1 + [9]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [3]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10}
11)
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [7]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [4]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [1] x1 + [1]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [8]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [8]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1(x1) = [1] x1 + [1]
c_2(x1) = [1] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(++(x, y)) -> c_2(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10}
12)
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
The usable rules for this path are the following:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ flatten(nil()) -> nil()
, flatten(unit(x)) -> flatten(x)
, flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, flatten(flatten(x)) -> flatten(x)
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
and weakly orienting the rules
{ flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{ flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [1]
nil() = [0]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [1] x1 + [1] x2 + [8]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [0]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [1] x1 + [1]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ flatten(++(x, y)) -> ++(flatten(x), flatten(y))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ flatten(unit(x)) -> flatten(x)
, flatten(++(unit(x), y)) -> ++(flatten(x), flatten(y))
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(++(unit(x), y)) -> c_3(++^#(flatten(x), flatten(y)))
, flatten(nil()) -> nil()
, flatten(flatten(x)) -> flatten(x)
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, flatten^#_0(2) -> 6
, flatten^#_0(3) -> 6
, c_1_0(6) -> 6
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10}
13)
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, ++^#(nil(), y) -> c_10()}
The usable rules for this path are the following:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(nil(), y) -> c_10()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(nil(), y) -> c_10()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(nil(), y) -> c_10()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
and weakly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [5]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(nil(), y) -> c_10()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [1]
unit(x1) = [1] x1 + [4]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [2]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(nil(), y) -> c_10()}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(nil(), y) -> c_10()}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, rev^#_0(2) -> 13
, rev^#_0(3) -> 13
, c_10_0() -> 10}
14)
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(x, nil()) -> c_9()}
The usable rules for this path are the following:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(x, nil()) -> c_9()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{++^#(x, nil()) -> c_9()}
and weakly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{++^#(x, nil()) -> c_9()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [4]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [3]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
and weakly orienting the rules
{ ++^#(x, nil()) -> c_9()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(x, nil()) -> c_9()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [4]
unit(x1) = [1] x1 + [3]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [2]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(x, nil()) -> c_9()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(x, nil()) -> c_9()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, rev^#_0(2) -> 13
, rev^#_0(3) -> 13
, c_9_0() -> 10}
15)
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(nil(), y) -> c_10()}
The usable rules for this path are the following:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(nil(), y) -> c_10()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{++^#(nil(), y) -> c_10()}
and weakly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{++^#(nil(), y) -> c_10()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [4]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [3]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
and weakly orienting the rules
{ ++^#(nil(), y) -> c_10()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(nil(), y) -> c_10()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [4]
unit(x1) = [1] x1 + [3]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [2]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(nil(), y) -> c_10()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(nil(), y) -> c_10()
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, rev^#_0(2) -> 13
, rev^#_0(3) -> 13
, c_10_0() -> 10}
16)
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, ++^#(x, nil()) -> c_9()}
The usable rules for this path are the following:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(x, nil()) -> c_9()}
Details:
We apply the weight gap principle, strictly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(x, nil()) -> c_9()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(x, nil()) -> c_9()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
and weakly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [5]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(x, nil()) -> c_9()}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [1]
unit(x1) = [1] x1 + [4]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [2]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(x, nil()) -> c_9()}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x
, ++^#(x, nil()) -> c_9()}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, rev^#_0(2) -> 13
, rev^#_0(3) -> 13
, c_9_0() -> 10}
17)
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
The usable rules for this path are the following:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [1]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
and weakly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [3]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [8]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [1]
unit(x1) = [1] x1 + [6]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [8]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [1] x1 + [8]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))
, ++^#(++(x, y), z) -> c_11(++^#(x, ++(y, z)))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, rev^#_0(2) -> 13
, rev^#_0(3) -> 13}
18)
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
The usable rules for this path are the following:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(++(x, y)) -> ++(rev(y), rev(x))
, rev(rev(x)) -> x
, ++(x, nil()) -> x
, ++(nil(), y) -> y
, ++(++(x, y), z) -> ++(x, ++(y, z))
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
and weakly orienting the rules
{ rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
and weakly orienting the rules
{ rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [8]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [1] x1 + [1] x2 + [0]
rev(x1) = [1] x1 + [1]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [9]
c_5() = [0]
c_6() = [0]
c_7(x1) = [1] x1 + [1]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ rev(++(x, y)) -> ++(rev(y), rev(x))
, ++(++(x, y), z) -> ++(x, ++(y, z))}
Weak Rules:
{ ++(x, nil()) -> x
, ++(nil(), y) -> y
, rev^#(++(x, y)) -> c_7(++^#(rev(y), rev(x)))
, rev(nil()) -> nil()
, rev(unit(x)) -> unit(x)
, rev(rev(x)) -> x}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ nil_0() -> 2
, unit_0(2) -> 3
, unit_0(3) -> 3
, ++^#_0(2, 2) -> 10
, ++^#_0(2, 3) -> 10
, ++^#_0(3, 2) -> 10
, ++^#_0(3, 3) -> 10
, rev^#_0(2) -> 13
, rev^#_0(3) -> 13}
19)
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules:
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [8]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
and weakly orienting the rules
{flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(unit(x)) -> c_1(flatten^#(x))}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [8]
nil() = [0]
unit(x1) = [1] x1 + [8]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [3]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [1]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules:
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The given problem does not contain any strict rules
20)
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))
, flatten^#(nil()) -> c_0()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {flatten^#(nil()) -> c_0()}
Weak Rules:
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
We apply the weight gap principle, strictly orienting the rules
{flatten^#(nil()) -> c_0()}
and weakly orienting the rules
{ flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{flatten^#(nil()) -> c_0()}
Details:
Interpretation Functions:
flatten(x1) = [1] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1(x1) = [1] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [1] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules:
{ flatten^#(nil()) -> c_0()
, flatten^#(unit(x)) -> c_1(flatten^#(x))
, flatten^#(flatten(x)) -> c_4(flatten^#(x))}
Details:
The given problem does not contain any strict rules
21)
{rev^#(rev(x)) -> c_8()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {rev^#(rev(x)) -> c_8()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{rev^#(rev(x)) -> c_8()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(rev(x)) -> c_8()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [1] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {rev^#(rev(x)) -> c_8()}
Details:
The given problem does not contain any strict rules
22)
{rev^#(unit(x)) -> c_6()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {rev^#(unit(x)) -> c_6()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{rev^#(unit(x)) -> c_6()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(unit(x)) -> c_6()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [1] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {rev^#(unit(x)) -> c_6()}
Details:
The given problem does not contain any strict rules
23)
{rev^#(nil()) -> c_5()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [0] x1 + [0]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {rev^#(nil()) -> c_5()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{rev^#(nil()) -> c_5()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{rev^#(nil()) -> c_5()}
Details:
Interpretation Functions:
flatten(x1) = [0] x1 + [0]
nil() = [0]
unit(x1) = [0] x1 + [0]
++(x1, x2) = [0] x1 + [0] x2 + [0]
rev(x1) = [0] x1 + [0]
flatten^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1(x1) = [0] x1 + [0]
c_2(x1) = [0] x1 + [0]
++^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_3(x1) = [0] x1 + [0]
c_4(x1) = [0] x1 + [0]
rev^#(x1) = [1] x1 + [1]
c_5() = [0]
c_6() = [0]
c_7(x1) = [0] x1 + [0]
c_8() = [0]
c_9() = [0]
c_10() = [0]
c_11(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {rev^#(nil()) -> c_5()}
Details:
The given problem does not contain any strict rules